The present invention relates generally to methods and apparatus for interconnecting independent fibre channel loops and/or fabrics, and more particularly to methods and apparatus for interconnecting fibre channel loops or fabrics using intelligent fibre channel adapters.
Fibre channel has emerged as the high speed serial technology of choice for server-storage connectivity. Fibre channel has a number of advantages over SCSI. For example, fibre channel offers higher speed than SCSI: the base speed is about 100 megabits per second in each direction, which is likely to increase to 200, 400 and 800 megabits per second. In full duplex mode, these speeds are doubled. In addition, many of the fibre channel devices are dual ported, i.e., can be accessed through two independent ports, which doubles speed and increases fault tolerance capabilities. Fibre channel network cables can be as long as 30 meters (coaxial) or 10 kilometers (optical) fibre channel enables self-configuring and hot swapping of devices, and the maximum number of devices on a single port can be as high as 126. Finally, fibre channel provides software compatibility with SCSI.
In current fibre channel configurations, I/O requests which originate from a client or server device on one fibre channel loop or fabric must pass through a switch or router to get from the client or server initiating the I/O request on the one fibre channel loop or fabric to a storage system, server, or client residing on a different independent fibre channel fabric or loop.
As illustrated in FIG. 1, a typical storage system network 100 is illustrated. In the illustrated system, network 100 comprises a plurality of servers, 102-1, 102-2, and 102-3. In addition, connected to each server is a storage system 104. As illustrated in FIG. 1, storage system 104-1 is connected to server 102-1 via fibre channel loop or fabric 108-1. Similarly, storage system 104-2 is connected to server 102-2 via fibre channel loop or fabric 108-2, and storage system 104-3 is connected to server 102-3 via fibre channel loop or fabric 108-3. Each fibre channel loop or fabric 108 also is attached to fibre channel switch 106 which routes I/O""s between the independent fibre channels 108, and in particular, the devices on fibre channels 108. For example, if server 102-1 issues an I/O request directed to one of the other servers 102-2 or 102-3 or storage system 104-2 or 104-3 not attached to fibre channel 108-1, the I/O request must pass through switch 106, which determines the destination of the I/O request, and then passes the I/O to the destination fibre channel, and ultimately the I/O device residing on the fibre channel.
Referring now to FIG. 2, a typical fibre channel switch 200 is illustrated. Switch 200 comprises a plurality of switch ports 202 which interface with fibre channel nodes, fibre channel arbitrated loops, or other fibre channel switches. Switch 200 further comprises a switch construct which is capable of multiplexed frame switching, circuit switching or both. Switch 200 also includes an address manager 206, a path selector 208, a router 210, and a fabric controller 212.
Address manager 206 typically is responsible for the assignment of addresses within some portion of the fibre channel fabric. Within switch 200, address manager 206 is responsible for acquiring a Domain and Area for the switch, and allocating Port-IDs within the Domain and Area. Path selector 208 is a logical entity that establishes frame routing paths, and router 210 is a logical entity that performs the routing of frames to their final destination. Finally, fabric controller 212 is a logical entity that performs the management of switch 200.
Switches 200 may be joined freely or in a structured fashion to form a larger fabric, as illustrated in FIG. 3. That is, switches 200 may connect to other switches in the fibre channel fabric via interswitch links 220, forming a large fibre channel fabric configuration. In addition, the switches can connect independent fibre channel loops 240 and individual fibre channel nodes 250 to the larger fibre channel fabric, as well as other fibre channel loops 240 and nodes 250.
The problem with the current method and apparatus for interconnecting independent fibre channels is that individual switches can cost $25,000 or more. When an organization is trying to interconnect multiple fabrics, the cost of the switches can become extremely expensive. Therefore, it would be beneficial to be able to connect independent fibre channel fabrics or loops using means other than expensive switches.
Accordingly, it is an advantage of the present invention to provide methods and apparatus for interconnecting independent fibre channel fabrics which overcome the shortcomings of the prior art.
Another advantage of the present invention is that the methods and apparatus for interconnecting fibre channel fabrics utilizes an intelligent I/O (xe2x80x9cI2Oxe2x80x9d) fibre channel to PCI bus adapter to facilitate I/O communications between the independent fibre channels through a computer having a PCI bus.
Yet another advantage of the present invention is that the methods and apparatus for interconnecting independent fibre channels use I2O peer-to-peer technology to determine whether the I/O is destined for a local system or a system residing on a different fibre channel loop or fabric.
Yet another advantage of the present invention is that the methods and apparatus for interconnecting independent fibre channel fabrics or loops can be configured in a centralized or a distributed router configuration.
The above and other advantages of the present invention are carried out in one form by a system for interconnecting a plurality of independent fibre channel loops or fabrics comprising a first server including a PCI bus and a fibre channel to PCI bus adapter for each one of the plurality of independent fibre channels. Each fibre channel to PCI bus adapter is configured to connect one of the plurality of fibre channels to the PCI bus of the first server. The plurality of independent fibre channels then can communicate with each other across the PCI bus of the first server utilizing the intelligent I/O (I2O) routing of the fibre channel to PCI bus adapters. Each of the plurality of fibre channels are configured to communicate with the other fibre channels, as well as the first server via the PCI bus.
The system can be configured such that any one of the plurality of fibre channels can include one or more devices connected thereto in addition to the first server. Each device connected to one of the plurality of fibre channels is configured to communicate with one or more devices connected to another one of the plurality of fibre channels across the PCI bus of the first server. The devices connected to the fiber channels may comprise, inter alia, other servers, storage systems, or any other suitable computer system or peripheral.